/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/idenger">idenger</a> All rights reserved.
 */
package com.idenger.modules.project.entity.fundmanagement;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.idenger.common.persistence.DataEntity;

/**
 * 资金管理Entity
 * @author chenlin
 * @version 2018-04-11
 */
public class FundManagement extends DataEntity<FundManagement> {
	
	private static final long serialVersionUID = 1L;
	private String projectId;		// 项目ID
	private Date fundDeadline;		// 经费截止日期
	private String plannedInvestment;		// 计划总投资
	private String plannedSpecialNationFund;		// 计划完成专项国拨经费
	private String nationFundProgress;		// 国拨经费建设进度
	private String nationFundPaid;		// 已支付国拨经费
	private String plannedSupportFund;		// 计划完成配套经费额度
	private String supportFundProgress;		// 配套经费建设进度
	private String supportFundPaid;		// 已支付配套经费
	private String supportFundSource;		// 配套经费来源说明
	private String remark;		// 备注
	private String sourceRemarks;		// 数据源备注
	private String deleteFlag;		// 删除标记
	
	public FundManagement() {
		super();
	}

	public FundManagement(String id){
		super(id);
	}

	@Length(min=0, max=64, message="项目ID长度必须介于 0 和 64 之间")
	public String getProjectId() {
		return projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getFundDeadline() {
		return fundDeadline;
	}

	public void setFundDeadline(Date fundDeadline) {
		this.fundDeadline = fundDeadline;
	}
	
	public String getPlannedInvestment() {
		return plannedInvestment;
	}

	public void setPlannedInvestment(String plannedInvestment) {
		this.plannedInvestment = plannedInvestment;
	}
	
	public String getPlannedSpecialNationFund() {
		return plannedSpecialNationFund;
	}

	public void setPlannedSpecialNationFund(String plannedSpecialNationFund) {
		this.plannedSpecialNationFund = plannedSpecialNationFund;
	}
	
	public String getNationFundProgress() {
		return nationFundProgress;
	}

	public void setNationFundProgress(String nationFundProgress) {
		this.nationFundProgress = nationFundProgress;
	}
	
	public String getNationFundPaid() {
		return nationFundPaid;
	}

	public void setNationFundPaid(String nationFundPaid) {
		this.nationFundPaid = nationFundPaid;
	}
	
	public String getPlannedSupportFund() {
		return plannedSupportFund;
	}

	public void setPlannedSupportFund(String plannedSupportFund) {
		this.plannedSupportFund = plannedSupportFund;
	}
	
	public String getSupportFundProgress() {
		return supportFundProgress;
	}

	public void setSupportFundProgress(String supportFundProgress) {
		this.supportFundProgress = supportFundProgress;
	}
	
	public String getSupportFundPaid() {
		return supportFundPaid;
	}

	public void setSupportFundPaid(String supportFundPaid) {
		this.supportFundPaid = supportFundPaid;
	}
	
	public String getSupportFundSource() {
		return supportFundSource;
	}

	public void setSupportFundSource(String supportFundSource) {
		this.supportFundSource = supportFundSource;
	}
	
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	
	@Length(min=0, max=255, message="数据源备注长度必须介于 0 和 255 之间")
	public String getSourceRemarks() {
		return sourceRemarks;
	}

	public void setSourceRemarks(String sourceRemarks) {
		this.sourceRemarks = sourceRemarks;
	}
	
	@Length(min=0, max=1, message="删除标记长度必须介于 0 和 1 之间")
	public String getDeleteFlag() {
		return deleteFlag;
	}

	public void setDeleteFlag(String deleteFlag) {
		this.deleteFlag = deleteFlag;
	}
	
}